#define _GNU_SOURCE
#include <stdlib.h>
#include <search.h>
#include "tsearch.h"

void tdestroy(void *root, void (*freekey)(void *))
{
    struct node *r = root;

    if (r == 0)
        return;
    tdestroy(r->a[0], freekey);
    tdestroy(r->a[1], freekey);
    if (freekey) freekey((void *)r->key);
    free(r);
}
